package ws

//var (
//	BlockHub *Hub
//	TxHub    *Hub
//)
//
//// HubStart 启动Hub 管理websocket连接
//func HubStart() {
//	// 启动BlockHub
//	BlockHub = NewHub()
//	go BlockHub.Run()
//	// 启动TxHub
//	TxHub = NewHub()
//	go TxHub.Run()
//}
//
//type blockEvent struct {
//	BlockNum  int    `json:"blocknum"`
//	BlockHash string `json:"blockhash"`
//	TxNum     int    `json:"txnum"`
//	CreatTime string `json:"creattime"`
//}
//
//// PushBlock 推送区块事件
//func PushBlock() {
//	for e := range sdk.BlEvent {
//		blockInfo, err := adkInfoInit.App.GetBlockInfo(int(e.Block.Header.Number))
//		if err != nil {
//			fmt.Println("新区块解析失败，跳过，err:", err.Error())
//			continue
//		}
//		newBlock := &blockEvent{
//			BlockNum:  int(e.Block.Header.Number),
//			BlockHash: hex.EncodeToString(e.Block.Header.DataHash),
//			TxNum:     blockInfo.TxNum,
//			CreatTime: blockInfo.CreateTime,
//		}
//		newBlockByte, err := json.Marshal(newBlock)
//		if err != nil {
//			fmt.Println("新区块序列化失败，跳过，err:", err.Error())
//			continue
//		}
//		BlockHub.Broadcast <- newBlockByte
//	}
//}
//
//type txEvent struct {
//	TxID        string `json:"txid"`
//	BlockNumber int    `json:"blocknumber"`
//	ChannelId   string `json:"channelid"`
//	ChaincodeID string `json:"chaincodeid"`
//	Creater     string `json:"creater"`
//	CreatTime   string `json:"creattime"`
//}
//
////PushTx 推送交易事件
//func PushTx() {
//	for e := range sdk.CCEvent {
//
//		txInfo, err := adkInfoInit.App.GetTxInfo(e.TxID)
//		if err != nil {
//			if err != nil {
//				fmt.Println("新交易解析失败，跳过，err:", err.Error())
//				continue
//			}
//		}
//		newTx := &txEvent{
//			TxID:        e.TxID,
//			BlockNumber: int(e.BlockNumber),
//			ChannelId:   txInfo.ChannelId,
//			ChaincodeID: e.ChaincodeID,
//			Creater:     txInfo.Creater,
//			CreatTime:   txInfo.Timestamp,
//		}
//		newTxByte, err := json.Marshal(newTx)
//		if err != nil {
//			fmt.Println("新交易序列化失败，跳过，err:", err.Error())
//			continue
//		}
//		TxHub.Broadcast <- []byte(newTxByte)
//	}
//}
